/*
 * @Description: 角色api 类型
 * @Author: chenju
 * @Date: 2021-11-08 15:37:36
 * @LastEditors: chenju
 * @LastEditTime: 2023-01-17 16:04:30
 */

export interface GetRolesListParams {
  // 用户名（模糊搜索）
  roleName?: string;
}

// 角色列表  返回值
export type GetRoleListResult = {
  // 角色Id
  id: string;
  // 角色名称
  roleName: string;
  // 角色描述
  roleDesc: string;
  // 创建人
  creator: string;
  // 创建时间
  createTime: string;
};

// 创建角色   入参
export interface CreateRoleParams {
  // 角色名称
  roleName?: Nullable<string>;
  // 	角色描述
  roleDesc?: Nullable<string>;
  menuIds: number[];
}

// 更新角色   入参
export interface UpdateRoleParams {
  // 角色Id
  roleId?: Nullable<string>;
  // 角色名称
  roleName?: Nullable<string>;
  // 	角色描述
  roleDesc?: Nullable<string>;
  menuIds: number[];
}

// 查询菜单树  返回值
export type GetMenuTreeResult = MenuTreeItem;
// export type GetMenuTreeResult = {
//   scope: string;
//   scopeName: string;
//   menuTree: MenuTreeItem[];
// };

export interface MenuTreeItem {
  // 角色Id
  id: number;
  // 父级Id
  parentId: number;
  // 菜单名
  name: string;
  label: string;
  // 类型 0 菜单 1 按钮
  type: '0' | '1';
  // 是否叶子
  isLeaf: boolean;
  // 选中
  enable: boolean;
  // 子级
  children: null | MenuTreeItem[];
}

// 更换用户角色   入参
export interface ChangeUserRoleParams {
  // 用户Id
  userId?: Nullable<string>;
  // 	旧角色Id
  oldRoleId?: Nullable<string>;
  // 	新角色Id
  newRoleId?: Nullable<string>;
}

// 编辑角色权限入参
export interface UpdateRoleMenuParams {
  roleId: number;
  menuIdList: number[];
}

// 角色成员列表 返回参数
export interface GetRoleUserListResult {
  realName: string;
  email: string;
  roleDesc: string;
}
